home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / dosrcss.zip / MERGE.KSH < prev    next >
Text File  |  1990-07-18  |  761b  |  50 lines

  1. #    $Id: merge.ksh,v 1.1 90/07/15 22:56:50 lfk Release $
  2. set -x
  3. PATH='/bin;/usr/bin'
  4. DIFF=/bin/diff
  5. DIFF3=/bin/diff3
  6. echo $*
  7. p=w
  8. case $1 in
  9.     -p)    p='1,$p'
  10.         shift
  11. esac
  12.  
  13. case $# in
  14.     0|1|2)    echo >&2 "merge: usage: merge [-p] file1 file2 file3"
  15.             exit 1
  16. esac
  17.  
  18. case $p in
  19.     w)    if test ! -w $1 ; then
  20.             echo >&2 "$1 not writeable"
  21.             exit 1
  22.         fi
  23. esac
  24.  
  25. #trap 's=$?; rm -f /tmp/d3a$$ /tmp/d3b$$; exit $s' 0
  26. #trap exit 1 2 3 13 15
  27. umask 077
  28.  
  29. $DIFF $1 $3 >/tmp/d3a$$
  30.     case $? in
  31.         0|1) ;;
  32.         *) exit
  33.     esac
  34.  
  35. $DIFF $2 $3 >/tmp/d3b$$
  36.     case $? in
  37.         0|1) ;;
  38.         *) exit
  39.     esac
  40.  
  41. {
  42.     $DIFF3 -E /tmp/d3a$$ /tmp/d3b$$ $1 $4 $5
  43.     case $? in
  44.         0) ;;
  45.         1) echo >&2 merge: warning: 1 overlap during merge.;;
  46.         *) echo >&2 merge: warning: $? overlaps during merge.
  47.     esac
  48.     echo $p
  49. } | ed - $1
  50.